package com.opentae.data.mall.examples;

import com.opentae.core.mybatis.SgExample;
import com.opentae.core.mybatis.example.EntityColumn;
import com.opentae.core.mybatis.example.EntityTable;
import com.opentae.core.mybatis.mapperhelper.EntityHelper;
import com.opentae.data.mall.beans.MallProv;

import java.util.*;
public class MallProvExample extends SgExample<MallProvExample.Criteria> {
    public static final Class<MallProv> beanClass = MallProv.class;
    public static final EntityTable entityTable = EntityHelper.getEntityTable(beanClass);
    public static EntityColumn name;
    public static EntityColumn provId;
    static {
        Set<EntityColumn> columns = entityTable.getEntityClassColumns();
        Map<String, EntityColumn> listMap = new HashMap<>();
        for (EntityColumn column : columns) {
            listMap.put(column.getProperty(), column);
        }
        name = listMap.get("name");
        provId = listMap.get("provId");
        }

    public MallProvExample() {
        this.setTableAlias(entityTable.getName());
    }

    @Override
    public EntityTable getEntityTable() {
        return entityTable;
    }

    @Override
    protected MallProvExample.Criteria createCriteriaInternal() {
        return new MallProvExample.Criteria(this);
    }

    public static class Criteria extends SgExample.GeneratedCriteria<Criteria> {
        protected Criteria(SgExample example) {
            super(example);
        }

        public MallProvExample.Criteria andNameIsNull() {
            return isNull(name);
        }

        public MallProvExample.Criteria andNameIsNotNull() {
            return isNotNull(name);
        }

        public MallProvExample.Criteria andNameEqualTo(String value) {
            return equalTo(name, value);
        }

        public MallProvExample.Criteria andNameNotEqualTo(String value) {
            return notEqualTo(name, value);
        }

        public MallProvExample.Criteria andNameGreaterThan(String value) {
            return greaterThan(name, value);
        }

        public MallProvExample.Criteria andNameGreaterThanOrEqualTo(String value) {
            return greaterThanOrEqualTo(name, value);
        }

        public MallProvExample.Criteria andNameLessThan(String value) {
            return lessThan(name, value);
        }

        public MallProvExample.Criteria andNameLessThanOrEqualTo(String value) {
            return lessThanOrEqualTo(name, value);
        }

        public MallProvExample.Criteria andNameLike(String value) {
            return like(name, value);
        }

        public MallProvExample.Criteria andNameNotLike(String value) {
            return notLike(name, value);
        }

        public MallProvExample.Criteria andNameIn(List<String> values) {
            return in(name, values);
        }

        public MallProvExample.Criteria andNameNotIn(List<String> values) {
            return notIn(name, values);
        }

        public MallProvExample.Criteria andNameBetween(String value1, String value2) {
            return between(name, value1, value2);
        }

        public MallProvExample.Criteria andNameNotBetween(String value1, String value2) {
            return notBetween(name, value1, value2);
        }
        public MallProvExample.Criteria andProvIdIsNull() {
            return isNull(provId);
        }

        public MallProvExample.Criteria andProvIdIsNotNull() {
            return isNotNull(provId);
        }

        public MallProvExample.Criteria andProvIdEqualTo(Long value) {
            return equalTo(provId, value);
        }

        public MallProvExample.Criteria andProvIdNotEqualTo(Long value) {
            return notEqualTo(provId, value);
        }

        public MallProvExample.Criteria andProvIdGreaterThan(Long value) {
            return greaterThan(provId, value);
        }

        public MallProvExample.Criteria andProvIdGreaterThanOrEqualTo(Long value) {
            return greaterThanOrEqualTo(provId, value);
        }

        public MallProvExample.Criteria andProvIdLessThan(Long value) {
            return lessThan(provId, value);
        }

        public MallProvExample.Criteria andProvIdLessThanOrEqualTo(Long value) {
            return lessThanOrEqualTo(provId, value);
        }

        public MallProvExample.Criteria andProvIdIn(List<Long> values) {
            return in(provId, values);
        }

        public MallProvExample.Criteria andProvIdNotIn(List<Long> values) {
            return notIn(provId, values);
        }

        public MallProvExample.Criteria andProvIdBetween(Long value1, Long value2) {
            return between(provId, value1, value2);
        }

        public MallProvExample.Criteria andProvIdNotBetween(Long value1, Long value2) {
            return notBetween(provId, value1, value2);
        }
    }
}